//
// ���ļ����� JavaTM Architecture for XML Binding (JAXB) ����ʵ�� v2.2.8-b130911.1802 ���ɵ�
// ����� <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
// �����±���Դģʽʱ, �Դ��ļ��������޸Ķ�����ʧ��
// ����ʱ��: 2018.04.04 ʱ�� 06:00:02 PM CST 
//


package com.youhome.entity;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
import java.util.ArrayList;
import java.util.List;


/**
 * 
 * 				Expression of the attributes of the yard
 * 			
 * 
 * <p>YardType complex type�� Java �ࡣ
 * 
 * <p>����ģʽƬ��ָ�������ڴ����е�Ԥ�����ݡ�
 * 
 * <pre>
 * &lt;complexType name="YardType">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="HasYard" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="HasSprinklerSystem" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="IsFenced" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="IsProfessionallyLandscaped" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
 *         &lt;element name="Fence" type="{http://rets.org/xsd/RETSCommons}FenceType" maxOccurs="unbounded" minOccurs="0"/>
 *         &lt;element name="SprinklerSystem" type="{http://rets.org/xsd/RETSCommons}SprinklerSystemEnum" maxOccurs="unbounded" minOccurs="0"/>
 *         &lt;element name="YardFeature" type="{http://rets.org/xsd/RETSCommons}YardFeatureEnum" maxOccurs="unbounded" minOccurs="0"/>
 *         &lt;element name="YardLayout" type="{http://rets.org/xsd/RETSCommons}YardLayoutEnum" maxOccurs="unbounded" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "YardType", propOrder = {
    "hasYard",
    "hasSprinklerSystem",
    "isFenced",
    "isProfessionallyLandscaped",
    "fence",
    "sprinklerSystem",
    "yardFeature",
    "yardLayout"
})
public class YardType {

    @XmlElement(name = "HasYard")
    protected Boolean hasYard;
    @XmlElement(name = "HasSprinklerSystem")
    protected Boolean hasSprinklerSystem;
    @XmlElement(name = "IsFenced")
    protected Boolean isFenced;
    @XmlElement(name = "IsProfessionallyLandscaped")
    protected Boolean isProfessionallyLandscaped;
    @XmlElement(name = "Fence")
    protected List<FenceType> fence;
    @XmlElement(name = "SprinklerSystem")
    protected List<SprinklerSystemEnum> sprinklerSystem;
    @XmlElement(name = "YardFeature")
    protected List<YardFeatureEnum> yardFeature;
    @XmlElement(name = "YardLayout")
    protected List<YardLayoutEnum> yardLayout;

    /**
     * ��ȡhasYard���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isHasYard() {
        return hasYard;
    }

    /**
     * ����hasYard���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setHasYard(Boolean value) {
        this.hasYard = value;
    }

    /**
     * ��ȡhasSprinklerSystem���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isHasSprinklerSystem() {
        return hasSprinklerSystem;
    }

    /**
     * ����hasSprinklerSystem���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setHasSprinklerSystem(Boolean value) {
        this.hasSprinklerSystem = value;
    }

    /**
     * ��ȡisFenced���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isIsFenced() {
        return isFenced;
    }

    /**
     * ����isFenced���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setIsFenced(Boolean value) {
        this.isFenced = value;
    }

    /**
     * ��ȡisProfessionallyLandscaped���Ե�ֵ��
     * 
     * @return
     *     possible object is
     *     {@link Boolean }
     *     
     */
    public Boolean isIsProfessionallyLandscaped() {
        return isProfessionallyLandscaped;
    }

    /**
     * ����isProfessionallyLandscaped���Ե�ֵ��
     * 
     * @param value
     *     allowed object is
     *     {@link Boolean }
     *     
     */
    public void setIsProfessionallyLandscaped(Boolean value) {
        this.isProfessionallyLandscaped = value;
    }

    /**
     * Gets the value of the fence property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the fence property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getFence().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link FenceType }
     * 
     * 
     */
    public List<FenceType> getFence() {
        if (fence == null) {
            fence = new ArrayList<FenceType>();
        }
        return this.fence;
    }

    /**
     * Gets the value of the sprinklerSystem property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the sprinklerSystem property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getSprinklerSystem().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link SprinklerSystemEnum }
     * 
     * 
     */
    public List<SprinklerSystemEnum> getSprinklerSystem() {
        if (sprinklerSystem == null) {
            sprinklerSystem = new ArrayList<SprinklerSystemEnum>();
        }
        return this.sprinklerSystem;
    }

    /**
     * Gets the value of the yardFeature property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the yardFeature property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getYardFeature().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link YardFeatureEnum }
     * 
     * 
     */
    public List<YardFeatureEnum> getYardFeature() {
        if (yardFeature == null) {
            yardFeature = new ArrayList<YardFeatureEnum>();
        }
        return this.yardFeature;
    }

    /**
     * Gets the value of the yardLayout property.
     * 
     * <p>
     * This accessor method returns a reference to the live list,
     * not a snapshot. Therefore any modification you make to the
     * returned list will be present inside the JAXB object.
     * This is why there is not a <CODE>set</CODE> method for the yardLayout property.
     * 
     * <p>
     * For example, to add a new item, do as follows:
     * <pre>
     *    getYardLayout().add(newItem);
     * </pre>
     * 
     * 
     * <p>
     * Objects of the following type(s) are allowed in the list
     * {@link YardLayoutEnum }
     * 
     * 
     */
    public List<YardLayoutEnum> getYardLayout() {
        if (yardLayout == null) {
            yardLayout = new ArrayList<YardLayoutEnum>();
        }
        return this.yardLayout;
    }

}
